package com.geek.javase.ch03;

/**
 * @author chenmin
 * @desc TODO
 * @date 2025/9/2
 *
 * 从思考分析的角度：
 * 模板：Student类                        stu1对象   stu2对象  ....
 *   1.特征：姓名、学号、性别、年龄、专业      属性       属性
 *   2.行为：学习、吃饭                     方法       方法
 *
 * 从编码的角度：
 *   先创建class类   --->  编写属性和方法   --->   创建对象   --->  对象操作属性和方法
 *
 * 一个类中都有成员？
 * 1.私有的属性
 * 2.公开的Getter和Setter方法
 * 3.构造方法
 * 4.成员方法
 * 5.toString方法
 *
 * 作业：教师 Teacher
 */
public class Student {

    //私有的属性
    private String name;
    private long num;
    private char gender;
    private int age;
    private String major;


    //成员方法
    public void study(){
        System.out.println("一位"+major+"专业的同学正在学习~");
    }

    public void eat(){
        System.out.println(name+"正在吃饭~");
    }

    //构造方法
    public Student() {
    }

    public Student(String name, long num, char gender, int age, String major) {
        this.name = name;
        this.num = num;
        this.gender = gender;
        this.age = age;
        this.major = major;
    }


    //公开的Getter和Setter方法
    /**
     * 获取
     * @return name
     */
    public String getName() {
        return name;
    }

    /**
     * 设置
     * @param name
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取
     * @return num
     */
    public long getNum() {
        return num;
    }

    /**
     * 设置
     * @param num
     */
    public void setNum(long num) {
        this.num = num;
    }

    /**
     * 获取
     * @return gender
     */
    public char getGender() {
        return gender;
    }

    /**
     * 设置
     * @param gender
     */
    public void setGender(char gender) {
        this.gender = gender;
    }

    /**
     * 获取
     * @return age
     */
    public int getAge() {
        return age;
    }

    /**
     * 设置
     * @param age
     */
    public void setAge(int age) {
        this.age = age;
    }

    /**
     * 获取
     * @return major
     */
    public String getMajor() {
        return major;
    }

    /**
     * 设置
     * @param major
     */
    public void setMajor(String major) {
        this.major = major;
    }

    //toString 输出对象的信息
    public String toString() {
        return "Student{name = " + name + ", num = " + num + ", gender = " + gender + ", age = " + age + ", major = " + major + "}";
    }
}
